import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'

interface IModuleType {
  default: any[],
}

// 在使用 vite 时，不能使用 require.context 自动导入 modules，所以使用 import.meta.glob 替换
const modules = import.meta.glob<IModuleType>('./**/*.ts', { eager: true })

const mockModules: any[] = []

Object.keys(modules).forEach((key) => {
  if (key.includes('/_')) {
    return
  }
  mockModules.push(...modules[key].default)
})

// 在生产环境下，需要调用下面的方法注入所有模块
export function setupProdMockServer() {
  createProdMockServer(mockModules)
}
